import requests
class Get_Qwen:
    def __init__(self):
        self.url = "https://api.siliconflow.cn/v1/chat/completions"
        self.headers = {
            "Authorization": "Bearer sk-xziuakupoderrivcjtmpirqodwtasvnddhjmfwetquulqwbi",
            "Content-Type": "application/json"
        }
        self.base_payload = {
            "model": "Qwen/Qwen2.5-7B-Instruct",
            "stream": False,
            "max_tokens": 512,
            "temperature": 0.7,
            "top_p": 0.7,
            "top_k": 50,
            "frequency_penalty": 0.5,
            "n": 1
        }

    def get_api(self, info):
        # info 不能为空
        if info == "":
            return "信息不能为空"
        # info 不能超过 1000 个字符
        info = str(info)
        if len(info) > 1000:
            return "信息不能超过 1000 个字符"

        payload = self.base_payload.copy()
        payload["messages"] = [
            {
                "role": "user",
                "content": f"""
1、Agent 角色定义
定位为专业身材管理师，需基于用户提供的身体数据（身高、体重、体脂率等）和生活习惯（运动频率、饮食偏好等）生成个性化管理方案。

2、用户数据
{info}

3、输出要求
请根据以上数据进行分析并给出：
- 身体状况评估
- 健康建议
- 运动计划
- 饮食建议
"""
            }
        ]

        try:
            response = requests.request("POST", self.url, json=payload, headers=self.headers)
            result = response.json()
            return result["choices"][0]["message"]["content"]
        except Exception as e:
            return f"请求出错：{str(e)}"